package linter.linterjava.service;

import com.github.pagehelper.PageInfo;
import linter.linterjava.POJO.DO.Article;
import com.baomidou.mybatisplus.extension.service.IService;
import linter.linterjava.POJO.DTO.ArticleDTO;
import linter.linterjava.POJO.UtilDTO.PageInfoDTO;
import linter.linterjava.POJO.UtilDTO.TypeDTO;

import java.util.List;

/**
* @author 北煜
* @description 针对表【article(文章详情表)】的数据库操作Service
* @createDate 2024-07-07 12:14:45
*/
public interface ArticleService extends IService<Article> {

    /**
     * @param articleId 文章id
     * @param uuid 用户id
     * @return 返回成功与否
     */
    String delArticle(Long articleId, Long uuid);

    /**
     * @param articleDTO 文章类 -- > 文章内容、文章名称、简介、封面
     * @param uuid 用户id
     * @return 返回成功与否
     */
    String createArticle(ArticleDTO articleDTO, Long uuid);

    /**
     * @param articleDTO 文章类 -- > 文章内容、文章名称、简介、封面
     * @param uuid 用户id
     * @return 返回查询成功与否
     */
    String updateArticle(ArticleDTO articleDTO, Long uuid);


    /**
     * @param pageInfoDTO 类型参数+分页
     * @param uuid 用户id
     * @return 返回文章列表
     */
    PageInfo<Article> getArticle(PageInfoDTO pageInfoDTO, Long uuid);

    /**
     * @param articleDTO 文章类
     * @param uuid 用户id
     * @return 返回查找成功与否
     */
    List<Article> queryArticle(ArticleDTO articleDTO, Long uuid);

    /**
     * @param articleId 文章id
     * @param uuid 用户id
     * @return 返回查询数据
     */
    Article getArticleById(Long articleId, Long uuid);
}
